这是我的示例数据cities_counter[:10]
[('上海', 285), ('杭州', 225), ('北京', 163), ('广州', 136), ('南京', 130), ('武汉', 124), ('深圳', 88), ('温州', 67), ('苏州', 66), ('宁波', 45)]
我想用Seaborn和Matplotlib制作一个条形图,所以这是我的代码
>>> sns.set(style="whitegrid")
>>> sns.set_color_codes("pastel")
>>> sns.barplot(x=[k for k, _ in cities_counter[:10]], y=[v for _, v in cities_counter[:10]])
,结果是
ENV:
我如何绘制汉字?
答案 0 :(得分:1)
尝试设置matplotlib字体然后设置seaborn。并确保您的系统中有该字体。
它对我有用。
import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['font.serif'] = ['SimHei']
import seaborn as sns
sns.set_style("darkgrid",{"font.sans-serif":['simhei', 'Arial']})
详细了解seaborn.set或seaborn.set_style。
另外,您可以查看此issue。
希望这有帮助。
答案 1 :(得分:1)
诀窍是您必须在执行所有set
的seaborn之后设置seafont,否则设置字体操作将无效:
import seaborn as sns
sns.set(style="whitegrid")
sns.set_color_codes("pastel")
sns.set(font="SimSun")
data = [('上海', 285), ('杭州', 225), ('北京', 163), ('广州', 136)]
sns.barplot(x=[k for k, _ in data], y=[v for _, v in data])
上面的代码对matplotlib==3.1.1
和seaborn==0.9.0
有用,希望对您有用。