Tôi đang cố gắng để có được ggplot để hiển thị nhãn trục chính xác khi trong bộ ký tự không chuẩn [Nga]. khi sử dụng các chuỗi như vậy, các nhãn ggplot, ví dụ:utf-8 trong nhãn trục ggplot
\ U + 0441 U + 043D U + 0433
Ggplot được mã hóa ngay khi tôi lưu tên như là một biến riêng biệt và vẽ những như các nhãn sử dụng geom_text()
chuyển đổi định dạng của khung dữ liệu không giúp được gì nhiều: db$variable=sapply(db$variable,function(row) iconv(row,to='UTF-8'))
kết quả trong các ký tự bị xáo trộn, có lẽ do dữ liệu đã được mã hóa dưới dạng UTF-8 trong khung dữ liệu
Tôi có thể thực hiện công việc này bằng cách sử dụng một trục tùy chỉnh bằng cách sử dụng scale_x_discrete(labels=names)
nhưng điều này hơi khó sử dụng, đặc biệt khi dữ liệu bị thiếu giá trị. Có cách nào để có được ggplot để hiển thị các ký tự một cách chính xác ở nơi đầu tiên?
chỉnh sửa
Sau khi một số người đứng đầu gãi có vẻ như
Sys.setlocale("LC_CTYPE","russian")
sẽ giải quyết vấn đề. Tôi vẫn không thực sự hiểu tại sao R/ggplot là không phù hợp về những hoàn cảnh nào nó sẽ chấp nhận mã UTF8, mặc dù. Trong ví dụ trên, vấn đề được giới hạn ở các nhãn trục. Đây có phải là vì các nhãn trục chuỗi được lấy từ một bảng dữ liệu, mà bằng cách nào đó giao dịch với mã hóa khác nhau để nếu cùng một dòng được lưu trữ trong một chuỗi hoặc ma trận?
Có vẻ như bạn đã trả lời câu hỏi của bạn. Bạn sẽ đề xuất giải pháp của bạn về 'Sys.setlocale (" LC_CTYPE "," nga ")' làm câu trả lời, sau đó mở một câu hỏi mới liên quan đến sự không thống nhất của ggplot? Điều này cũng sẽ nhận được câu hỏi ggplot của bạn chú ý hơn :) – Rilcon42