我经常使用核密度图来说明分布.这些在R中创建简单快捷,如下所示:
set.seed(1)
draws <- rnorm(100)^2
dens <- density(draws)
plot(dens)
#or in one line like this: plot(density(rnorm(100)^2))
Run Code Online (Sandbox Code Playgroud)
这给了我这个漂亮的小PDF:
我想将PDF下面的区域从第75百分位到第95百分位.使用quantile函数计算点很容易:
q75 <- quantile(draws, .75)
q95 <- quantile(draws, .95)
Run Code Online (Sandbox Code Playgroud)
但是我如何遮蔽q75和之间的区域q95?
我有一个对列表(a, b),我想matplotlib在python中作为实际的xy坐标绘制.目前,它正在制作两个图,其中列表的索引给出x坐标,第一个图的y值是a成对中的s,第二个图的y值是b成对中的s.
为了澄清,我的数据看起来像这样:li = [(a,b), (c,d), ... , (t, u)]
我想做一个只调用plt.plot()不正确的单线程.如果我不需要单行程,我可以琐碎地做:
xs = [x[0] for x in li]
ys = [x[1] for x in li]
plt.plot(xs, ys)
Run Code Online (Sandbox Code Playgroud)
感谢您的帮助!
我有一个关于命令图()的问题.
有没有办法完全消除x轴并用自己的值替换它?我知道我可以通过这样做摆脱轴
plot(x,y, xaxt = 'n')
Run Code Online (Sandbox Code Playgroud)
然后添加一个轴
axis(side = 1 etc.)
Run Code Online (Sandbox Code Playgroud)
但是,当我添加轴时,显然它仍然指的是绘制为'x'的数据.我只想绘制'y'值并添加我自己的x轴,只需"绘制"x轴并指定自己的值.有没有办法做到这一点?
这个问题的背景是我的两个数据框的长度不同,因此我无法绘制它们.
我有以下数据帧:
uniq <- structure(list(year = c(1986L, 1987L, 1991L, 1992L, 1993L, 1994L, 1995L, 1996L, 1997L, 1998L, 1999L, 2000L, 2001L, 2002L, 2003L, 2004L, 2005L, 2006L, 2007L, 2008L, 2009L, 2010L, 2011L, 2012L, 2013L, 2014L, 1986L, 1987L, 1991L, 1992L, 1993L, 1994L, 1995L, 1996L, 1997L, 1998L, 1999L, 2000L, 2001L, 2002L, 2003L, 2004L, 2005L, 2006L, 2007L, 2008L, 2009L, 2010L, 2011L, 2012L, 2013L, 2014L, 1986L, 1987L, 1991L, 1992L, 1993L, 1994L, 1995L, 1996L, 1997L, 1998L, 1999L, 2000L, 2001L, 2002L, 2003L, 2004L, 2005L, 2006L, 2007L, 2008L, 2009L, 2010L, 2011L, …Run Code Online (Sandbox Code Playgroud) 我有一个pandas数据框,并希望绘制一列中的值与另一列中的值.幸运的是,有plot一种与数据帧相关的方法似乎可以满足我的需求:
df.plot(x='col_name_1', y='col_name_2')
Run Code Online (Sandbox Code Playgroud)
不幸的是,它看起来像打印样式(上市中这里后kind参数)有没有点.我可以使用线条或条纹甚至密度但不能使用点数.有没有可以帮助解决这个问题的解决方法.
我有一些节点来自我想要映射到图表的脚本.在下面,我想使用箭头从A到D,并且边缘也可能有颜色(红色或其他东西).这基本上就像所有其他节点都存在时从A到D的路径.您可以将每个节点想象为城市,从A到D行进需要方向(带箭头).下面的代码构建了图表
import networkx as nx
import numpy as np
import matplotlib.pyplot as plt
G = nx.Graph()
G.add_edges_from(
[('A', 'B'), ('A', 'C'), ('D', 'B'), ('E', 'C'), ('E', 'F'),
('B', 'H'), ('B', 'G'), ('B', 'F'), ('C', 'G')])
val_map = {'A': 1.0,
'D': 0.5714285714285714,
'H': 0.0}
values = [val_map.get(node, 0.25) for node in G.nodes()]
nx.draw(G, cmap = plt.get_cmap('jet'), node_color = values)
plt.show()
Run Code Online (Sandbox Code Playgroud)
但我想要一些像图中所示的东西.

第一个图像的箭头和第二个图像的红色边缘.谢谢
我已经在寻找解决方案的不同问题,我已经尝试了建议,但我没有找到解决方案使其工作.
每次我想运行此代码时,它总是说:
plot.new()出错:数字边距太大
我不知道如何解决它.这是我的代码:
par(mfcol=c(5,3))
hist(RtBio, main="Histograma de Bio Pappel")
boxplot(RtBio, main="Diagrama de Caja de Bio Pappel")
stem(RtBio)
plot(RtBio, main="Gráfica de Dispersión")
hist(RtAlsea, main="Histograma de Alsea")
boxplot(Alsea, main="Diagrama de caja de Alsea")
stem(RtAlsea)
plot(RtTelev, main="Gráfica de distribución de Alsea")
hist(RtTelev, main="Histograma de Televisa")
boxplot(telev, main="Diagrama de Caja de Televisa")
stem(Telev)
plot(Telev, main="Gráfica de dispersión de Televisa")
hist(RtWalmex, main="Histograma de Walmex")
boxplot(RtWalmex, main="Diagrama de caja de Walmex")
stem(RtWalmex)
plot(RtWalmex, main="Gráfica de dispersión de Walmex")
hist(RtIca, main="Histograma de Ica")
boxplot(RtIca, main="Gráfica de …Run Code Online (Sandbox Code Playgroud) 我有一个用pandas创建的现有情节,如下所示:
df['myvar'].plot(kind='bar')
Run Code Online (Sandbox Code Playgroud)
y轴的格式为float,我想将y轴更改为百分比.我找到的所有解决方案都使用ax.xyz语法,我只能将代码放在上面创建绘图的行下方(我不能将ax = ax添加到上面的行中.)
如何在不更改上述行的情况下将y轴格式化为百分比?
这是我找到的解决方案,但要求我重新定义情节:
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.ticker as mtick
data = [8,12,15,17,18,18.5]
perc = np.linspace(0,100,len(data))
fig = plt.figure(1, (7,4))
ax = fig.add_subplot(1,1,1)
ax.plot(perc, data)
fmt = '%.0f%%' # Format you want the ticks, e.g. '40%'
xticks = mtick.FormatStrFormatter(fmt)
ax.xaxis.set_major_formatter(xticks)
plt.show()
Run Code Online (Sandbox Code Playgroud)
链接到上述解决方案:Pyplot:在x轴上使用百分比
我试图让x轴标签在条形图上旋转45度而没有运气.这是我下面的代码:
barplot(((data1[,1] - average)/average) * 100,
srt = 45,
adj = 1,
xpd = TRUE,
names.arg = data1[,2],
col = c("#3CA0D0"),
main = "Best Lift Time to Vertical Drop Ratios of North American Resorts",
ylab = "Normalized Difference",
yaxt = 'n',
cex.names = 0.65,
cex.lab = 0.65)
Run Code Online (Sandbox Code Playgroud) plot ×10
r ×6
python ×4
matplotlib ×3
graph ×2
pandas ×2
axis-labels ×1
bar-chart ×1
coordinates ×1
dataframe ×1
figure ×1
ggplot2 ×1
margins ×1
networkx ×1
subscript ×1