小编esp*_*tte的帖子

在图中轴被轴隐藏的轴标签?

我试图制作一个极地'sypder'图,但我对轴标签有一些问题.xaxis tick标签似乎总是出现在y轴网格下面的一个层上(字母被网格线覆盖,如下图所示),我希望它们位于顶部.

我尝试设置zorders但没有成功.如果我将绘制线的zorder设置为2以上,它们会在轴和网格的顶部(就层而言)...但我仍然希望标签在图的顶部可见.如果我将它们设置在2以下,则线条会在网格下方.设置网格或刻度标签的zorder似乎没有效果.

这是我的尝试:你可以看到网格的红线最终在文本"行业"的顶部,而网格的灰线保持在下面.我希望'行业'能够在线上和线上都处于领先地位

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import random

data = random.sample(range(100), 5)
data[0] = 100
data[3] = 50
index = ['industry', 'residential', 'agriculture', 'transport', 'other']
df1 = pd.DataFrame(data, index=index, columns=['data'])
df2 = pd.DataFrame(np.array(data)/2, index=index, columns=['data'])

fig = plt.figure()

ax = fig.add_subplot(111, projection="polar")

ax.grid(True)
ax.yaxis.grid(color='r')  
ax.xaxis.grid(color='#dddddd')  

for spine in ax.spines.values():
    spine.set_edgecolor('None')

theta = np.arange(len(df1))/float(len(df1))*2.*np.pi

l1, = ax.plot(theta, df1["data"], color="gold", marker="o", label=None, zorder=1)  # , zorder = -3)
l2, = ax.plot(theta, df2["data"], …
Run Code Online (Sandbox Code Playgroud)

axis matplotlib labels python-3.x radar-chart

11
推荐指数
1
解决办法
413
查看次数

如何在gnuplot中绘制带有彩色边框的矩形

我想在我的情节中绘制一个空矩形.

到目前为止,我有:

set style rect back fs empty border lt 3 
set object 1 rect from 1,1 to 2,2 
Run Code Online (Sandbox Code Playgroud)

我的矩形用虚线表示.如何更改线条的颜色?lc在边界之后似乎不起作用.我也试过设置一个新的线条样式和边框,但我没有成功.

谢谢!

gnuplot rectangles

9
推荐指数
1
解决办法
1万
查看次数

如何使用pyinstaller创建最小大小的可执行文件?

我在Windows 10上,我安装了anaconda但是我想在一个新的,干净的最小环境中使用python 3.5独立创建一个可执行文件.所以我做了一些测试:

TEST1:我在文件夹testenv中创建了一个python脚本test1.py,只有:

print('Hello World')
Run Code Online (Sandbox Code Playgroud)

然后我创建了环境,安装了pyinstaller并创建了可执行文件

D:\testenv> python -m venv venv_test
...
D:\testenv\venv_test\Scripts>activate.bat
...
(venv_test) D:\testenv>pip install pyinstaller
(venv_test) D:\testenv>pyinstaller --clean -F test1.py
Run Code Online (Sandbox Code Playgroud)

它创建了大约6 Mb的test1.exe

测试2:我修改了test1.py如下:

import pandas as pd
print('Hello World')  
Run Code Online (Sandbox Code Playgroud)

我在环境中安装了pandas并创建了新的可执行文件:

(venv_test) D:\testenv>pip install pandas
(venv_test) D:\testenv>pyinstaller --clean -F test1.py
Run Code Online (Sandbox Code Playgroud)

Ant它创建我的test1.exe,现在是230 Mb !!!

如果我运行命令

(venv_test) D:\testenv>python -V
Python 3.5.2 :: Anaconda custom (64-bit)
Run Code Online (Sandbox Code Playgroud)

当我运行pyinstaller时,我得到一些我不理解的消息,例如:

INFO: site: retargeting to fake-dir 'c:\\users\\username\\appdata\\local\\continuum\\anaconda3\\lib\\site-packages\\PyInstaller\\fake-modules'
Run Code Online (Sandbox Code Playgroud)

此外,我收到有关matplotlib和其他与我的代码无关的模块的消息,例如:

INFO:   Matplotlib backend "pdf": added
INFO:   Matplotlib backend "pgf": added
INFO:   Matplotlib backend "ps": added …
Run Code Online (Sandbox Code Playgroud)

python virtualenv pyinstaller pandas anaconda

9
推荐指数
2
解决办法
1万
查看次数

当调色板发散时,如何使用最小值和最大值设置热图颜色?

我想设置调色板比例的最大值和最小值。在下面的示例中,我希望调色板的比例从 -10 到 50,就好像它是一个顺序颜色图一样。我真的不在乎强调数字与“零线”相交的地方。

import matplotlib.pyplot as plt
from matplotlib import cm
import numpy as np  
import pandas as pd  
import seaborn as sns

index = np.arange(0, 50)
data = np.random.uniform(low=-10, high=100, size=(50,50))
dft = pd.DataFrame(index=index, columns=index, data=data)
fig, ax = plt.subplots(figsize=(10,10))
cbar_ax = fig.add_axes([.905, 0.125, .05, 0.755])
ax = sns.heatmap(dft, linewidths=.5, cmap=cm.YlGnBu, cbar_kws={'label': 'label'},
                 ax=ax, square=True, cbar_ax=cbar_ax, center=55)
plt.show()
Run Code Online (Sandbox Code Playgroud)

但是,如果我这样做:

ax = sns.heatmap(dft, linewidths=.5, cmap=cm.YlGnBu, cbar_kws={'label': 'label'},
                 ax=ax, square=True, cbar_ax=cbar_ax, vmax=50, vmin=-10)
Run Code Online (Sandbox Code Playgroud)

调色板从 -50 到 50,并被vmin=-10忽略。

python matplotlib heatmap pandas seaborn

4
推荐指数
1
解决办法
4287
查看次数