Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions pygmt/helpers/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,5 @@
data_kind,
is_nonstr_iter,
launch_external_viewer,
non_ascii_to_octal,
)
5 changes: 4 additions & 1 deletion pygmt/src/text.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
fmt_docstring,
is_nonstr_iter,
kwargs_to_strings,
non_ascii_to_octal,
use_alias,
)

Expand Down Expand Up @@ -223,7 +224,9 @@ def text_(

# Append text at last column. Text must be passed in as str type.
if kind == "vectors":
extra_arrays.append(np.atleast_1d(text).astype(str))
extra_arrays.append(
list(map(non_ascii_to_octal, np.atleast_1d(text).astype(str)))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This would be a list of numpy arrays, instead of being just a numpy array? Is there a way to keep it as a numpy array?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed to np.vectorize in 85a0926.

)

with Session() as lib:
file_context = lib.virtualfile_from_data(
Expand Down
5 changes: 5 additions & 0 deletions pygmt/tests/baseline/test_text_nonascii.png.dvc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
outs:
- md5: 75db22909db0fbdb2a31edab357ed8b9
size: 16418
hash: md5
path: test_text_nonascii.png
13 changes: 13 additions & 0 deletions pygmt/tests/test_text.py
Original file line number Diff line number Diff line change
Expand Up @@ -371,3 +371,16 @@ def test_text_nonstr_text():
text=[1, 2, 3.0, 4.0],
)
return fig


@pytest.mark.mpl_image_compare
def test_text_nonascii():
"""
Test passing text strings with non-ascii characters.
"""
fig = Figure()
fig.basemap(region=[0, 10, 0, 10], projection="X10c", frame=True)
fig.text(position="TL", text="position-text:°α")
fig.text(x=1, y=1, text="xytext:°α")
fig.text(x=[5, 5], y=[3, 5], text=["xytext1:°α", "xytext2:°α"])
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in adf6eda.

return fig