我有一个风速与方向的图表,它有一个巨大的点数,所以我使用alpha = I(1/20)除了color = month
这是一个代码示例:
library(RMySQL)
library(ggplot2)
con <- dbConnect(...)
wind <- dbGetQuery(con, "SELECT speed_w/speed_e AS ratio, dir_58 as dir, MONTHNAME(timestamp) AS month, ROUND((speed_w+speed_e)/2) AS speed FROM tablename;");
png("ratio-by-speed.png",height=400,width=1200)
qplot(wind$dir,wind$ratio,ylim=c(0.5,1.5),xlim=c(0,360),color=wind$month,alpha=I(1/30),main="West/East against direction")
dev.off()
Run Code Online (Sandbox Code Playgroud)
这会产生一个不错的图形,但我的问题是图例的alpha也是1/30,这使得它不可读.有没有办法可以强制传说为1 alpha?
这是一个例子:

我有一个包含3个变量的数据框,这些变量都是风速.我想通过相互绘制所有变量来检查硬件的校准程度.虽然在这种情况下有三个,但最多可能有6个.
这将导致3个不同的图形,其中x和y参数不断变化.我真的很想用平面来绘制这些 - 或者具有相同外观的东西.
以下是一些示例数据,在一个名为的数据框中wind:
wind <- structure(list(speed_60e = c(3.029, 3.158, 2.881, 2.305, 2.45,
2.358, 2.325, 2.723, 2.567, 1.972, 2.044, 1.745, 2.1, 2.08, 1.914,
2.44, 2.356, 1.564, 1.942, 1.413, 1.756, 1.513, 1.263, 1.301,
1.403, 1.496, 1.828, 1.8, 1.841, 2.014), speed_60w = c(2.981,
3.089, 2.848, 2.265, 2.406, 2.304, 2.286, 2.686, 2.511, 1.946,
2.004, 1.724, 2.079, 2.058, 1.877, 2.434, 2.375, 1.562, 1.963,
1.436, 1.743, 1.541, 1.256, 1.312, 1.402, 1.522, 1.867, 1.837,
1.873, 2.055), speed_40 = c(2.726, …Run Code Online (Sandbox Code Playgroud) 我想在Python中运行一个程序,它每秒通过Web套接字向Tornado服务器发送一条消息.我一直在websocket-client上使用这个例子;
此示例不起作用,因为ws.run_forever()将停止执行while循环.
有人能给我一个如何正确实现这个作为一个线程类的例子,我既可以调用send方法,也可以接收消息?
import websocket
import thread
import time
def on_message(ws, message):
print message
def on_error(ws, error):
print error
def on_close(ws):
print "### closed ###"
def on_open(ws):
pass
if __name__ == "__main__":
websocket.enableTrace(True)
ws = websocket.WebSocketApp("ws://echo.websocket.org/", on_message = on_message, on_error = on_error, on_close = on_close)
ws.on_open = on_open
ws.run_forever()
while True:
#do other actions here... collect data etc.
for i in range(100):
time.sleep(1)
ws.send("Hello %d" % i)
time.sleep(1)
Run Code Online (Sandbox Code Playgroud) 我一直在尝试使用ggstructure绘制热图.如果我能得到一些指示,我不介意使用基本图形.我希望热图看起来像这样:
http://www.vistadatavision.com/uploads/images/reports/intensity_plot_1.PNG
我没有设法进一步输入ggstructure(df3),然后在错误中摸不着头脑 - 这似乎是因为它不喜欢日期/时间数据?
这是两周数据样本的"输入",间隔为10分钟.编辑:我最后只有4天的空间.我希望它就够了.
任何指针都非常赞赏.
structure(list(date = c("2010-01-01", "2010-01-01", "2010-01-01",
"2010-01-01", "2010-01-01", "2010-01-01", "2010-01-01", "2010-01-01",
"2010-01-01", "2010-01-01", "2010-01-01", "2010-01-01", "2010-01-01",
"2010-01-01", "2010-01-01", "2010-01-01", "2010-01-01", "2010-01-01",
"2010-01-01", "2010-01-01", "2010-01-01", "2010-01-01", "2010-01-01",
"2010-01-01", "2010-01-01", "2010-01-01", "2010-01-01", "2010-01-01",
"2010-01-01", "2010-01-01", "2010-01-01", "2010-01-01", "2010-01-01",
"2010-01-01", "2010-01-01", "2010-01-01", "2010-01-01", "2010-01-01",
"2010-01-01", "2010-01-01", "2010-01-01", "2010-01-01", "2010-01-01",
"2010-01-01", "2010-01-01", "2010-01-01", "2010-01-01", "2010-01-01",
"2010-01-01", "2010-01-01", "2010-01-01", "2010-01-01", "2010-01-01",
"2010-01-01", "2010-01-01", "2010-01-01", "2010-01-01", "2010-01-01",
"2010-01-01", "2010-01-01", "2010-01-01", "2010-01-01", "2010-01-01",
"2010-01-01", "2010-01-01", "2010-01-01", "2010-01-01", "2010-01-01",
"2010-01-01", "2010-01-01", "2010-01-01", …Run Code Online (Sandbox Code Playgroud) 我正在解码一个二进制文件,它有四个字节表示的十进制数字,小端.例如,94 53 F0 40代表7.510202.不幸的是,Python给了我7.51020240784.
当我尝试解析这些数据时unpack("<f",sampledata)[0],由于Python存储值的方式,我没有得到原始数据的精确表示(有关更多信息,请参阅http://bugs.python.org/issue4114).
不幸的是,我确实需要获得完全相同的表示 - 无论有关浮点数的不准确性的讨论,因为我需要将这些值写入文本文件,其初始值与最初写入二进制文件的位数相同.
如果可能的话,我宁愿坚持使用Python,但如果有必要,我很乐意在C中实现解决方案.我不能简单地截断unpack函数返回的原因是我不能保证原始float有多少小数位,例如0C 02 0F 41根据我的十六进制编辑器代表8.938,原始二进制文件只有3个小数位.
为了清楚起见,我需要将四个十六进制字节作为输入,并输出文本/ ASCII或IEEE 32位浮点数的数字表示,其具有与创建者所预期的相同的小数位数.文件.输出我将用于创建原始二进制数据文件的CSV,而不是用于实际执行任何计算.
有什么建议?
例:
from __future__ import print_function
from struct import *
print("Should print 7.510202")
hexbytes = b"\x94\x53\xF0\x40"
# 01101001 11001000 11110001 01000000
# should print 7.510202
print(unpack("<f",hexbytes)[0])
Run Code Online (Sandbox Code Playgroud) 如果这是相当脆弱的话,请耐心等待,如果我遗漏了任何东西,请随时提问...
我试图根据以下链接进行50年的极端风计算
http://www.wasp.dk/Products/weng/ExtremeWinds.htm
他们似乎使用gumbel分布,所以我在包"evir"中使用了函数gumbel以适应数据的分布,并在包"evd"中使用dgumbel作为绘图函数.
package("evd")
package("evir")
speeds2 <- data.frame(speed=sample(10:50,1000,rep=TRUE))
gumbel(speeds2$speed)
Run Code Online (Sandbox Code Playgroud)
然后我尝试使用ggplot2的stat_function来绘制它,就像这样(除了现在我已经为loc和scale添加了虚拟值).
library(ggplot2)
ggplot(data=speeds2, aes(x=speed)) +
stat_function(fun=dgumbel, args=list(loc=1, scale=0.5))
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Error in dgev(x, loc = loc, scale = scale, shape = 0, log = log) :
unused argument(s) (loc = loc, scale = scale, shape = 0, log = log)
Run Code Online (Sandbox Code Playgroud)
我不确定我是否以正确的方式这样做.任何指针都将非常感激.
我试图运行以下命令:
postfix status > tmp
Run Code Online (Sandbox Code Playgroud)
但是,生成的文件永远不会写入任何内容,而输出仍然会发送到终端.
我已经尝试将以下内容添加到混合中,甚至在重定向输出之前使用echo来回显,但似乎没有任何效果
postfix status 2>&1 > tmp
Run Code Online (Sandbox Code Playgroud)
其他命令没有问题.