安德鲁斯在角落里绘制随机数字

时间:2016-08-01 02:50:53

标签: python pandas matplotlib

我正在尝试在安德鲁斯剧情中绘制一些国家数据,但数字是' 1e12'一直出现在右上角,我不知道为什么它在那里或如何摆脱它。这是情节本身:

enter image description here

以下是我用来制作它的代码,非常标准的安德鲁斯剧情:

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文件,我无法在事后编辑。任何帮助或建议将不胜感激。

1 个答案:

答案 0 :(得分:1)

该值是轴上的比例。您必须将数据除以系数约1e11。请参阅以下带有虹膜数据的示例。

iris data linked here

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])

enter image description here

您会注意到左侧图表没有此缩放编号,而右侧图表则没有。我故意将右边的数据乘以系数1e11。