我使用下面的代码在我的python 3.6.3中成功安装了ggplot:
conda install -c conda-forge ggplot
Run Code Online (Sandbox Code Playgroud)
但是当我使用下面的代码在我的笔记本中导入它时,我收到一个错误:
from ggplot import *
ImportError: cannot import name 'Timestamp'
Run Code Online (Sandbox Code Playgroud)
如果我能解决这个问题,我将不胜感激.
有没有人知道python中ggplot2的文档?据我所知,语法类似于R语法,但是还有任何信息或代码示例吗?任何教程......?
有没有办法能够在散点图的ggplot的python实现中设置轴范围和刻度标记的数量?例如,我想将y轴设置为0到100,其值为0,10,20,30,...,100.
我尝试过以下方法:
ggplot(aes(x=x, y=y), data=data) + geom_point() + scale_y_continuous(limits=(0,100), breaks=range(0,100,10))
ggplot(aes(x=x, y=y), data=data) + geom_point() + scale_y_continuous(breaks=range(0,100,10)) + ylim(0,100)
ggplot(aes(x=x, y=y), data=data) + geom_point() + scale_y_continuous(breaks=range(0,100,10))
Run Code Online (Sandbox Code Playgroud)
在前两行中,限制会覆盖中断,因此我得到一个从0到100的轴,但不会出现刻度线.在最后一行中,确实会出现中断,但范围只是ggplot从数据中使用的自动范围,而不是所需的0到100范围.
当我试图用ggplot绘制时间序列时,x轴标签变得过于拥挤并且相互重叠:

代码是:
plot = ggplot(df, aes(x=df.index, weight='COUNT')) + \
geom_bar() + \
xlab('Date') + \
ylab('Incidents')
Run Code Online (Sandbox Code Playgroud)
我试着添加以下行
+ theme(axis.text.x = element_text(angle = 90, hjust = 1))
Run Code Online (Sandbox Code Playgroud)
情节,但它不起作用.这个额外的行给了我错误:
SyntaxError: keyword can't be an expression
close failed in file object destructor:
sys.excepthook is missing
lost sys.stderr
Run Code Online (Sandbox Code Playgroud)
知道这是怎么发生的,我应该怎么解决?谢谢!!
我正在使用yhat的ggplot库.我有以下pandas DataFrame:
degree observed percent observed expected percent expected
0 0 0 0.0 0 0.044551
1 1 1 0.1 1 0.138604
2 2 3 0.3 2 0.215607
3 3 4 0.4 2 0.223592
4 4 1 0.1 2 0.173905
5 5 1 0.1 1 0.108208
Run Code Online (Sandbox Code Playgroud)
目前,我正在执行以下操作(在df函数的第一行的第一行中返回的是上面的DataFrame):
def chartObservedExpected(graph):
df = observedExpected(graph)
return ggplot(aes(x='degree', y='percent observed'), data=df) + \
geom_point() + \
ylim(-0.015,1.015) + \
xlim(-0.05,max(df['degree']) + 0.25) + \
labs("Degree","Proportion of Total") + \
ggtitle("Observed Node …Run Code Online (Sandbox Code Playgroud) 我有一些数据,我使用以下代码操作数据帧:
import pandas as pd
import numpy as np
data = pd.DataFrame([[0,0,0,3,6,5,6,1],[1,1,1,3,4,5,2,0],[2,1,0,3,6,5,6,1],[3,0,0,2,9,4,2,1],[4,0,1,3,4,8,1,1],[5,1,1,3,3,5,9,1],[6,1,0,3,3,5,6,1],[7,0,1,3,4,8,9,1]], columns=["id", "sex", "split", "group0Low", "group0High", "group1Low", "group1High", "trim"])
data
#remove all where trim == 0
trimmed = data[(data.trim == 1)]
trimmed
#create df with columns to be split
columns = ['group0Low', 'group0High', 'group1Low', 'group1High']
to_split = trimmed[columns]
to_split
level_group = np.where(to_split.columns.str.contains('0'), 0, 1)
# output: array([0, 0, 1, 1])
level_low_high = np.where(to_split.columns.str.contains('Low'), 'low', 'high')
# output: array(['low', 'high', 'low', 'high'], dtype='<U4')
multi_level_columns = pd.MultiIndex.from_arrays([level_group, level_low_high], names=['group', 'val'])
to_split.columns …Run Code Online (Sandbox Code Playgroud) 我无法显示来自的情节ggplot.我尝试过类似的东西
import pandas as pd
import pylab as plt
import statsmodels.api as sm
from ggplot import *
df = pd.DataFrame.from_csv('file.csv', index_col=None)
x=df['X']
y=df['Y']
plt=ggplot(data=df,aes(x=x, y=y)) +\
geom_line() +\
stat_smooth(colour='blue', span=0.2)
plt.show()
Run Code Online (Sandbox Code Playgroud)
为什么不出现?
我试图让使用python的数字的简单列表的直方图IPython的笔记本电脑和ggplot的蟒蛇.使用pylab,这很容易,但我不能让ggplot工作.
我正在使用此代码(基于钻石直方图示例,这对我有用):
from ggplot import *
a = [1, 1, 2, 1, 1, 4, 5, 6]
p = ggplot(aes(x='carat'), data=a)
p + geom_hist() + ggtitle("Histogram of Diamond Carats") + labs("Carats", "Freq")
Run Code Online (Sandbox Code Playgroud)
使用ipython和pylab,我可以使用just进行直方图hist(a)显示.如何使用ggplot创建直方图?
当我使用以下命令时
p = ggplot(aes(x='DTM',y='TMP1'), data=data)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
NameError: name 'aes' is not defined
Run Code Online (Sandbox Code Playgroud)
你可以帮帮我吗?
我正按照每小时的分辨率绘制一系列道路的行程时间,数周时间.
我可以使用unix时间绘图,但这不是很直观.这是7天的数据.
我使用一个函数来操作time字段以给出日期和小时:
def plot_time(time):
return time.strftime('%Y-%m-%d-%H')
Run Code Online (Sandbox Code Playgroud)
但是,这会导致ggplot在尝试绘制时抛出值错误:
ValueError: invalid literal for float(): 2016-04-13-00
Run Code Online (Sandbox Code Playgroud)
是否有更简单的显示日期和一小时的方法?
或者,我可以在轴上用日期刻度绘制unix时间,但是在轴上有一些小时分辨率会很好.