我正在尝试在安德鲁斯剧情中绘制一些国家数据,但数字是' 1e12'一直出现在右上角,我不知道为什么它在那里或如何摆脱它。这是情节本身:
以下是我用来制作它的代码,非常标准的安德鲁斯剧情:
import pandas as pd
import matplotlib.pyplot as plt
from pandas.tools.plotting import radviz
from pandas.tools.plotting import table
from pandas import read_csv
from pandas.tools.plotting import andrews_curves
import os
filepath ="/Users/.../DefenseAndrews.csv"
os.chdir(os.getcwd())
os.getcwd()
dc = read_csv(filepath,
header=0, usecols=['Country','GDP','ME','GE','Trade','PopDensity'])
plt.figure()
andrews_curves(dc, 'Country')
plt.legend(loc='best', bbox_to_anchor=(1.0, 4.3))
plt.savefig('figure4_AndrewsPlot.eps', format='eps', dpi=1200)
plt.show()
我之前的解决方案是打开保存并在艺术程序中手动删除它。但是,我现在必须将图像创建为eps文件,我无法在事后编辑。任何帮助或建议将不胜感激。
答案 0 :(得分:1)
该值是轴上的比例。您必须将数据除以系数约1e11。请参阅以下带有虹膜数据的示例。
from pandas.tools.plotting import andrews_curves
data1 = pd.read_csv('iris.csv')
data2 = data1.copy()
data2.iloc[:, :4] *= 1e11
fig, axes = plt.subplots(1, 2, figsize=(10, 5))
andrews_curves(data1, 'Name', ax=axes[0])
andrews_curves(data2, 'Name', ax=axes[1])
您会注意到左侧图表没有此缩放编号,而右侧图表则没有。我故意将右边的数据乘以系数1e11。