我尝试使用list comprehension来替换for循环.
原始文件是
2 3 4 5 6 3
1 2 2 4 5 5
1 2 2 2 2 4
Run Code Online (Sandbox Code Playgroud)
for循环
line_number = 0
for line in file:
line_data = line.split()
Cordi[line_number, :5] = line_data
line_number += 1
Run Code Online (Sandbox Code Playgroud)
输出是
[[2 3 4 5 6 3]
[1 2 2 4 5 5]
[1 2 2 2 2 4]]
Run Code Online (Sandbox Code Playgroud)
如果使用列表理解,我可以想到的是(我必须将数据类型更改为int,因此可以在程序的后续部分中绘制)
Cordi1= [int(x) for x in line.split() for line in data]
Run Code Online (Sandbox Code Playgroud)
但输出是
[1, 1, 1]
Run Code Online (Sandbox Code Playgroud)
但line.split() for line in data实际上是一个列表,如果我尝试 …
我在用 matplotlib
在plot()或者bar(),我们可以很容易地把传说,如果标签添加到他们.但是,如果它是一个contourf()或imshow()
我知道有一个colorbar()可以呈现颜色范围,但不满意.我想要一个有名字(标签)的传奇.

我可以想到的是,为矩阵中的每个元素添加标签,然后尝试使用legend(),看看它是否有效,但是如何向元素添加标签,如值?
就我而言,原始数据如下:
1,2,3,3,4
2,3,4,4,5
1,1,1,2,2
Run Code Online (Sandbox Code Playgroud)
例如,1代表'grass',2代表'sand',3代表'hill'......等等.imshow()与我的案例完美配合,但没有传说.
我的问题是:
是否有一个可以自动添加图例的功能,例如,在我的情况下,我只需这样做:someFunction('grass','sand',...)
如果没有,我如何为矩阵中的每个值添加标签.例如,在矩阵'grass'中标记所有1,在矩阵'sand'中标记所有2 ...依此类推.
谢谢!
编辑:
感谢@dnalow,它真的很聪明.但是,我仍然想知道是否有任何正式的解决方案.
我有一个如下数据框:
a1 a2 a3 a4
1 3 3 5 5
2 4 3 5 5
3 5 4 6 5
4 6 5 7 3
Run Code Online (Sandbox Code Playgroud)
我想对数据帧中的每两列进行线性回归,并设置intercept为0.
换句话说,我想得到系数 lm(a1~a2+0), lm(a1~a3+0), lm(a1~a4+0), lm(a2~a1+0), lm(a2~a3+0)...
在cor(),如果我输入一个数据帧,我将得到一个矩阵,例如下面,
a1 a2 a3 a4
a1 1.0000000 0.9467293 0.8944272 0.2045983
a2 0.9467293 1.0000000 0.9622504 0.4989222
a3 0.8944272 0.9622504 1.0000000 0.4574957
a4 0.2045983 0.4989222 0.4574957 1.0000000
Run Code Online (Sandbox Code Playgroud)
在lm()有没有办法让同一种基质的?
谢谢.
我试图从这个网站上抓取数据,使用httr和rvest。经过多次抓取(大约 90 - 100 次),该网站会自动将我转移到另一个带有验证码的网址。
这是正常的网址: "https://fs.lianjia.com/ershoufang/pg1"
这是验证码网址: "http://captcha.lianjia.com/?redirect=http%3A%2F%2Ffs.lianjia.com%2Fershoufang%2Fpg1"
当我的蜘蛛遇到验证码网址时,它会告诉我停止并在浏览器中解决它。然后我在浏览器中手动解决它。但是当我运行蜘蛛并发送GET请求时,蜘蛛仍然被转移到验证码网址。同时在浏览器中,一切正常,即使我输入验证码网址,它也会将我转回浏览器中的正常网址。
即使我使用代理,我仍然遇到同样的问题。在浏览器中,我可以正常浏览网站,而蜘蛛一直在转移到验证码网址。
我想知道,
谢谢。
这是我的代码:
a <- GET(url, use_proxy(proxy, port), timeout(10),
add_headers('User-Agent' = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36',
'Connection' = 'keep-alive',
'Accept-Language' = 'en-GB,en;q=0.8,zh-CN;q=0.6,zh;q=0.4,en-US;q=0.2,fr;q=0.2,zh-TW;q=0.2',
'Accept-Encoding' = 'gzip, deflate, br',
'Host' = 'ajax.api.lianjia.com',
'Accept' = '*/*',
'Accept-Charset' = 'GBK,utf-8;q=0.7,*;q=0.3',
'Cache-Control' = 'max-age=0'))
b <- a %>% read_html %>% html_nodes('div.leftContent') %>% html_nodes('div.info.clear') %>%
html_nodes('div.title') %>% html_text() …Run Code Online (Sandbox Code Playgroud) 我正在使用shinydashboard,并且我想使用以下代码在标题中放置图像:
header <- dashboardHeader(
title = div(img(src = 'logo.png',
height = 60,
width = 120))
)
Run Code Online (Sandbox Code Playgroud)
一切都很顺利,但是当我通过 chrome 打开应用程序时,在浏览器的标签中,它看起来很奇怪,如下所示。
有什么办法可以阻止它显示在浏览器上并显示一些正常文本吗?
<div> <img src="logo.png" height="60" width="120"/>
Run Code Online (Sandbox Code Playgroud) r ×4
html ×2
python ×2
shiny ×2
captcha ×1
dataframe ×1
header ×1
httr ×1
imshow ×1
int ×1
label ×1
legend ×1
line-breaks ×1
matplotlib ×1
output ×1
web-crawler ×1
web-scraping ×1