我想知道你是否可以用厘米来指定matplotlib中数字的大小.目前我写道:
def cm2inch(value):
return value/2.54
fig = plt.figure(figsize=(cm2inch(12.8), cm2inch(9.6)))
Run Code Online (Sandbox Code Playgroud)
但是有原生方法吗?
我在使用Seaborn增加我的情节数字时遇到了麻烦.我正在使用sns.pairplot来绘制数据帧的列.
%matplotlib inline
plt.rcParams['figure.figsize']=10,10
columns=list(df.columns.values)
g=sns.pairplot(df, kind='reg', x_vars=columns,y_vars = ['Column 1'])
Run Code Online (Sandbox Code Playgroud)
数据填充的数据很好,但数字太小.我认为plot.rCParams ['figure.figsize']会控制数字的大小,但它似乎没有生效.我尝试了一些来自在线主板的不同建议,但似乎没有任何效果.
如何修改函数输出图像的大小pandas.DataFrame.plot?
我试过了:
plt.figure (figsize=(10,5))
和
%matplotlib notebook
但它们都不起作用。
我正在使用python程序生成一些数据,使用matplotlib.pyplot绘制数据,然后在乳胶文件中显示图形.
我目前正在将该图保存为.png文件,但图像质量不是很好.我已经尝试过改变DPI,matplotlib.pyplot.figure(dpi=200)但这似乎没什么区别.我也试过使用不同的图像格式,但它们看起来都有点褪色,不是很尖锐.
有没有其他人有这个问题?
任何帮助将非常感激
这从几年前的回答显示了如何做jupyter笔记本创建图形为SVG.解决方案是告诉InlineBackend使用svg输出.
import matplotlib.pyplot as plt
%matplotlib inline
%config InlineBackend.figure_format = 'svg'
plt.plot(...)
Run Code Online (Sandbox Code Playgroud)
这将导致所有图像在笔记本内部以及生成的ipynb文件中以svg格式显示; 该文件将有一行像
"data": { "image/svg+xml": [ "<?xml .....
Run Code Online (Sandbox Code Playgroud)
在里面.
问题是,如果使用%matplotlib notebook后端,这不起作用.%config InlineBackend不会更改笔记本后端的任何内容,因此输出文件包含PNG图像
"data": { "text/html": [ "<img src=\"data:image/png;base64,iVBORw0....
Run Code Online (Sandbox Code Playgroud)
所以问题是:如何让ipynb文件包含使用%matplotlib notebook后端创建的SVG图像的静态版本?
@mark jay从一个月前发表了一个小评论,他想做我现在想做的事情,但没有回答或暗示这个评论.
在我的代码中,我直接从数据框绘制:
%matplotlib notebook
import pandas as pd
df = pd.read_sql(sql1, connection)
...
...
df.plot(subplots=True, kind='bar')
Run Code Online (Sandbox Code Playgroud)
这个功能非常好,无需导入,matplotlib.pyplot但也无法强制将图形创建为svg.我想如果基本情况可行,我可以修改绘图代码,因此它不涉及pandas或数据帧.
我使用MatplotLib和Cartopy生成一些数据图像.问题是,当我将帧大小设置为全屏并使用plt.show()时,图像是完美的,分辨率很好.
但是,当我使用'plt.savefig()'保存此图时,保存的图像保持原始大小(不是全屏).
显示结果图像:


我的代码如下:
def plot_tec_cartopy(descfile):global matrixLon,matrixLat,matrixTec
ax = plt.axes(projection=cartopy.crs.PlateCarree())
v = np.linspace(0, 80, 46, endpoint=True)
cp = plt.contourf(matrixLon, matrixLat, matrixTec, v, cmap=plt.cm.rainbow)
plt.clim(0, 80)
plt.colorbar(cp)
ax.add_feature(cartopy.feature.COASTLINE)
ax.add_feature(cartopy.feature.BORDERS, linestyle=':')
ax.set_extent([-85, -30, -60, 15])
# Setting X and Y labels using LON/LAT format
ax.set_xticks([-85, -75, -65, -55, -45, -35])
ax.set_yticks([-60, -55, -50, -45, -40, -35, -30, -25, -20, -15, -10, -5, 0, 5, 10, 15])
lon_formatter = LongitudeFormatter(number_format='.0f',
degree_symbol='',
dateline_direction_label=True)
lat_formatter = LatitudeFormatter(number_format='.0f',
degree_symbol='')
ax.xaxis.set_major_formatter(lon_formatter)
ax.yaxis.set_major_formatter(lat_formatter)
plt.title('Conteúdo Eletrônico Total', style='normal', fontsize='12') …Run Code Online (Sandbox Code Playgroud) 如您所见,代码产生的条形图不太清楚,我想将数字放大,以便可以更好地看到值。这没有做。正确的方法是什么?x是一个数据框,x['user']是图中的x轴,x['number']是y。
import matplotlib.pyplot as plt
%matplotlib inline
plt.bar(x['user'], x['number'], color="blue")
plt.figure(figsize=(20,10))
Run Code Online (Sandbox Code Playgroud)
带plt.figure的行不会更改初始尺寸。
我知道如何通过fig, ax = plt.figure(figsize=(8,8), dpi=140).
但我想知道有一种方法可以更改所有绘图的图形大小或 DPI,而无需每次都指定这些值。
有人可以帮助我吗?
提前致谢。
我有包含 72 个特征的数据集。现在我想找到会影响我的模型的最重要的特征。因此,我尝试使用seaborn和绘制相关矩阵图,matplotlib但是当我尝试绘制它时,因为它包含 72 个特征,因此无法正确地将其可视化。我怎样才能放大情节以更好地理解它。
代码:
%matplotlib inline
corr = data.corr()
sns.heatmap(corr,
xticklabels=corr.columns.values,
yticklabels=corr.columns.values)
Run Code Online (Sandbox Code Playgroud)
截屏:
如果您能让我知道如何为具有大约 150 个特征的大型数据集绘制高分辨率热图,我将不胜感激。
我的代码如下:
XX = pd.read_csv('Financial Distress.csv')
y = np.array(XX['Financial Distress'].values.tolist())
y = np.array([0 if i > -0.50 else 1 for i in y])
XX = XX.iloc[:, 3:87]
df=XX
df["target_var"]=y.tolist()
target_var=["target_var"]
fig, ax = plt.subplots(figsize=(8, 6))
correlation = df.select_dtypes(include=['float64',
'int64']).iloc[:, 1:].corr()
sns.heatmap(correlation, ax=ax, vmax=1, square=True)
plt.xticks(rotation=90)
plt.yticks(rotation=360)
plt.title('Correlation matrix')
plt.tight_layout()
plt.show()
k = df.shape[1] # number of variables for heatmap
fig, ax = plt.subplots(figsize=(9, 9))
corrmat = df.corr()
# Generate a mask for the upper triangle
mask = np.zeros_like(corrmat, …Run Code Online (Sandbox Code Playgroud)