小编dim*_*mka的帖子

matplotlib:colorbars及其文本标签

我想colorbar为a 创建一个图例heatmap,使标签位于每个离散颜色的中心.从这里借来的例子:

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.colors import ListedColormap

#discrete color scheme
cMap = ListedColormap(['white', 'green', 'blue','red'])

#data
np.random.seed(42)
data = np.random.rand(4, 4)
fig, ax = plt.subplots()
heatmap = ax.pcolor(data, cmap=cMap)

#legend
cbar = plt.colorbar(heatmap)
cbar.ax.set_yticklabels(['0','1','2','>3'])
cbar.set_label('# of contacts', rotation=270)

# put the major ticks at the middle of each cell
ax.set_xticks(np.arange(data.shape[1]) + 0.5, minor=False)
ax.set_yticks(np.arange(data.shape[0]) + 0.5, minor=False)
ax.invert_yaxis()

#labels
column_labels = list('ABCD')
row_labels = list('WXYZ')
ax.set_xticklabels(column_labels, minor=False) …
Run Code Online (Sandbox Code Playgroud)

python label matplotlib legend colorbar

82
推荐指数
3
解决办法
17万
查看次数

Matplotlib绘图用滚轮缩放

当光标悬停在matplotlib图上时,是否可以绑定滚轮来放大/缩小?

user-interface plot zoom matplotlib

28
推荐指数
3
解决办法
2万
查看次数

matplotlib:在堆叠散点图中对齐y轴标签

在下图中我有两个散点图,它们具有不同的数字刻度,因此它们的Y轴标签没有对齐.有什么办法可以在y轴标签上强制水平对齐吗?

import matplotlib.pylab as plt
import random
import matplotlib.gridspec as gridspec

random.seed(20)
data1 = [random.random() for i in range(10)]
data2 = [random.random()*1000 for i in range(10)]

gs = gridspec.GridSpec(2,1)
fig = plt.figure()

ax = fig.add_subplot(gs[0])
ax.plot(data1)
ax.set_ylabel(r'Label One', size =16)

ax = fig.add_subplot(gs[1])
ax.plot(data2)
ax.set_ylabel(r'Label Two', size =16)

plt.show()
Run Code Online (Sandbox Code Playgroud)

堆积的散点图

python plot matplotlib alignment axis-labels

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

Matplotlib:图例中的颜色编码文本而不是行

在某些LCD显示器上,图例中水平线的颜色很难区分.(见附图).因此,不是在图例中画一条线,是否可以只对文本本身进行颜色编码?换句话说,蓝色为"y = 0x",绿色为"y = 1x"等...

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(10)

fig = plt.figure()
ax = plt.subplot(111)

for i in xrange(5):
    ax.plot(x, i * x, label='$y = %ix$' % i)

ax.legend()

plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

PS.如果线条可以在图例中变厚,但在图表中没有,这也可以.

python plot numpy matplotlib legend

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

Matplotlib:着色轴/刻度标签

如何将y轴标签和刻度标签涂成红色?

例如,"y-label"和值0到40,用红色着色. sample_image

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(10)

fig = plt.figure()
ax = plt.subplot(111)
ax.set_ylabel("y-label")

for i in xrange(5):
    ax.plot(x, i * x, label='$y = %ix$' % i)

ax.legend()

plt.show()
Run Code Online (Sandbox Code Playgroud)

label colors matplotlib text-coloring

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

使用python/PIL自动裁剪图像

任何人都可以帮我弄清楚我的图像自动裁剪脚本中发生了什么?我有一个带有大透明区域/空间的png图像.我希望能够自动裁剪出那个空间并留下必需品.原始图像有一个方形的画布,最好是矩形,只包含分子.

这是原始图片: 原始图像

做一些谷歌搜索我遇到了报告工作的PIL/python代码,但是在我手中,运行下面的代码过度裁剪图像.

import Image
import sys

image=Image.open('L_2d.png')
image.load()

imageSize = image.size
imageBox = image.getbbox()

imageComponents = image.split()

rgbImage = Image.new("RGB", imageSize, (0,0,0))
rgbImage.paste(image, mask=imageComponents[3])
croppedBox = rgbImage.getbbox()
print imageBox
print croppedBox
if imageBox != croppedBox:
    cropped=image.crop(croppedBox)
    print 'L_2d.png:', "Size:", imageSize, "New Size:",croppedBox
    cropped.save('L_2d_cropped.png')
Run Code Online (Sandbox Code Playgroud)

输出是这样的:脚本的输出

任何更熟悉图像处理/ PLI的人都可以帮我解决这个问题吗?

python image crop image-processing python-imaging-library

14
推荐指数
4
解决办法
3万
查看次数

matplotlib的'circos'风格图?

有没有人知道是否有办法用python包或任何其他python库制作马戏团风格的情节matplotlib?他们不必像示例那样漂亮.

python data-visualization matplotlib circos

13
推荐指数
1
解决办法
4176
查看次数

matplotlib:在极坐标刻度标签上添加填充/偏移量

有没有办法增加极坐标刻度标签(theta)的填充/偏移量?

import matplotlib
import numpy as np
from matplotlib.pyplot import figure, show, grid

# make a square figure
fig = figure(figsize=(2, 2))
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8], polar=True, axisbg='#d5de9c')
ax.set_yticklabels([])

r = np.arange(0, 3.0, 0.01)
theta = 2*np.pi*r
ax.plot(theta, r, color='#ee8d18', lw=3)
ax.set_rmax(2.0)
show()
Run Code Online (Sandbox Code Playgroud)

我想让theta tick标签远离极坐标图,这样它们就不会重叠.

在此输入图像描述

matplotlib labels radial axis-labels

11
推荐指数
2
解决办法
6927
查看次数

matplotlib:直方图和bin标签

我正在尝试使用条形图绘制直方图,并且我很难弄清楚如何将x轴标签与实际的箱子对齐.下面的代码生成以下图表:条形图

如您所见,每个x标签的末尾未与其bin的中心对齐.我正在考虑的方式是:当我应用45度旋转时,标签围绕其几何中心枢转.我想知道是否可以将枢轴移动到标签的顶部.(或者只是将所有标签稍微翻译一下.)

import matplotlib.pyplot as plt
import numpy as np

#data
np.random.seed(42)
data = np.random.rand(5)
names = ['A:GBC_1233','C:WERT_423','A:LYD_342','B:SFS_23','D:KDE_2342']

ax = plt.subplot(111)
width=0.3
bins = map(lambda x: x-width/2,range(1,len(data)+1))
ax.bar(bins,data,width=width)
ax.set_xticks(map(lambda x: x, range(1,len(data)+1)))
ax.set_xticklabels(names,rotation=45)

plt.show()
Run Code Online (Sandbox Code Playgroud)

matplotlib rotation histogram bar-chart axis-labels

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

禁用matplotlib工具栏

有没有办法禁用/隐藏底部显示的matplotlib工具栏?

我试过这样的事情:

import matplotlib as mpl
mpl.rcParams['toolbar'] = 'None'
Run Code Online (Sandbox Code Playgroud)

但不幸的是,这没有用.

matplotlib toolbar

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

list是另一个列表的子集

在Python中,给出了两个对列表:

listA = [ [1,20], [3,19], [37,11], [21,17] ]
listB = [ [1,20], [21,17] ]
Run Code Online (Sandbox Code Playgroud)

如果listB是listA的子集,你如何有效地编写一个返回True的python函数?哦和[1,20]对相当于[20,1]

python list subset

4
推荐指数
2
解决办法
6271
查看次数

Matplotlib生成这样的圆形图?

有谁知道是否有可能在matplotlib中生成这样的图?图像取自以下页面.如果没有,还有另一个'python'解决方案来生成这样的情节?

python plot matplotlib

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