Jul*_*Jul 2 python plot svg matplotlib
所以我尝试导出一些使用 matplotlib 和 seaborn 创建的绘图。
我用以下方法创建我的情节:
import pandas as pd
import matplotlib as plt
import matplotlib.pyplot as plt
from matplotlib import pyplot as plty
import seaborn as sns
%matplotlib inline
from IPython.display import set_matplotlib_formats
set_matplotlib_formats('png', 'pdf')
df = pd.read_excel('test.xlsx', sheetname='IvT')
sns.set_style("white")
plt.figure(figsize=(12,10))
plt.xlabel('Test', fontsize=18)
plt.title ('Test', fontsize=22)
#sns.boxplot(df[['Short total']])
sns.boxplot(df[['Short total']])
plt.show()
Run Code Online (Sandbox Code Playgroud)
如果我尝试将其导出
matplotlib.pyplot.savefig("test.svg", format="svg")
Run Code Online (Sandbox Code Playgroud)
我收到一条错误消息说
-------------------------------------------------- ------------------------- NameError Traceback (最近一次调用最后一次) in () 1 ----> 2 matplotlib.pyplot.savefig("测试.svg”,格式=“svg”)
NameError:名称“matplotlib”未定义
您似乎使模块的导入过于复杂。在代码中,您已导入matplotlib 和 matplotlib.pyplotas plt。此外,已经导入后matplotlib.pyplot,您尝试使用再次执行此操作from matplotlib import pyplot
当您尝试保存文件时,您已经完成了matplotlib.pyplot.savefig,但您已经导入matplotlib.pyplot为plt.
您显示的具体错误是因为,当您导入matplotlib本身时,您已将其导入为 plt,这就是为什么错误显示matplotlib未定义。
为了解决这个问题,您需要像这样清理导入:
import pandas as pd
import matplotlib # if abbreviating this, use "as mpl"
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
from IPython.display import set_matplotlib_formats
set_matplotlib_formats('png', 'pdf')
df = pd.read_excel('test.xlsx', sheetname='IvT')
sns.set_style("white")
plt.figure(figsize=(12,10))
plt.xlabel('Test', fontsize=18)
plt.title ('Test', fontsize=22)
#sns.boxplot(df[['Short total']])
sns.boxplot(df[['Short total']])
plt.show()
Run Code Online (Sandbox Code Playgroud)
然后为了保存你的数字使用:
plt.savefig("test.svg", format="svg")
Run Code Online (Sandbox Code Playgroud)
记得先调用这个 plt.show()