Ruby|Gviz gem에서 텍스트 내용, 모양, 색상을 무작위로 선택하여 그래프 생성
Ruby|Gviz gem에서 텍스트 내용, 모양, 색상을 무작위로 선택하여 그래프 생성
개요
Gviz gem에서 텍스트 내용, 모양, 색상을 무작위로 선택하여 그래프를 생성합니다.
이 행위는 무의미하다.
텍스트는 Lorem ipsum을 사용합니다.
Loem ipsum이란?
아래 참조.
http://ja.wikipedia.org/wiki/Lorem_ipsum
Loerm ipsum 텍스트
Emmet pluggin은 Sublime Text2에서 가져옵니다.
Emmet 명령이 Ctrl+E에서 확장될 때lorem10.item*5
이렇게이렇게 loerm ipsum의 10단어× 다섯 줄에서 50개의 단어를 얻습니다.<div class="item">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit, nam.</div>
<div class="item">Aliquam, hic tempora iure quibusdam voluptatibus natus perferendis maiores veritatis.</div>
<div class="item">Doloribus dignissimos odio deleniti dolorum unde doloremque ex eaque voluptates.</div>
<div class="item">Ea placeat dolor quam provident distinctio voluptatibus, fuga ut incidunt.</div>
<div class="item">Ea, reiciendis repudiandae magnam aliquam eum debitis aliquid atque maiores.</div>
샘플 코드
require 'gviz'
require 'date'
lorem_ipsum = <<-EOS
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit, nam.
Aliquam, hic tempora iure quibusdam voluptatibus natus perferendis maiores veritatis.
Doloribus dignissimos odio deleniti dolorum unde doloremque ex eaque voluptates.
Ea placeat dolor quam provident distinctio voluptatibus, fuga ut incidunt.
Ea, reiciendis repudiandae magnam aliquam eum debitis aliquid atque maiores.
EOS
lorem_ipsum = lorem_ipsum.gsub(/[\n,\.]/, '').split(' ')
loerm_samples = lorem_ipsum.sample(9).map(&:to_sym)
shapes = %w(box polygon ellipse oval circle point egg triangle plaintext diamond trapezium parallelogram house pentagon hexagon septagon octagon doublecircle doubleoctagon tripleoctagon invtriangle invtrapezium invhouse Mdiamond Msquare Mcircle rect rectangle square star none underline note tab folder box3d component promoter cds terminator utr primersite restrictionsite fivepoverhang threepoverhang noverhang assembly signature insulator ribosite rnastab proteasesite proteinstab rpromoter rarrow larrow lpromoter)
shape_samples = shapes.sample(18)
colorschemes = %i(paired10 brbg10 piyg10 prgn10 puor10)
colorscheme = colorschemes.sample
Graph do
global layout:'neato', overlap:false
loerm_samples.each_cons(2).with_index(1) do |loerms, i|
route loerms.first => loerms.last
loerms.each_with_index do |loerm, j|
node loerm, {:shape => shape_samples[2 * (i + j - 1)], :colorscheme=> colorscheme,:style => :filled, fillcolor: i%11 }
end
end
route loerm_samples.last => loerm_samples.first
date_sufix = DateTime.now.strftime("%Y%m%d_%H%M%S")
save("loerm_#{date_sufix}".to_sym, :png)
end
1차 출력
2차 출력
3차 출력
Reference
이 문제에 관하여(Ruby|Gviz gem에서 텍스트 내용, 모양, 색상을 무작위로 선택하여 그래프 생성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tbpgr/items/3e33788f7c508651ba34
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
lorem10.item*5
<div class="item">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit, nam.</div>
<div class="item">Aliquam, hic tempora iure quibusdam voluptatibus natus perferendis maiores veritatis.</div>
<div class="item">Doloribus dignissimos odio deleniti dolorum unde doloremque ex eaque voluptates.</div>
<div class="item">Ea placeat dolor quam provident distinctio voluptatibus, fuga ut incidunt.</div>
<div class="item">Ea, reiciendis repudiandae magnam aliquam eum debitis aliquid atque maiores.</div>
require 'gviz'
require 'date'
lorem_ipsum = <<-EOS
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit, nam.
Aliquam, hic tempora iure quibusdam voluptatibus natus perferendis maiores veritatis.
Doloribus dignissimos odio deleniti dolorum unde doloremque ex eaque voluptates.
Ea placeat dolor quam provident distinctio voluptatibus, fuga ut incidunt.
Ea, reiciendis repudiandae magnam aliquam eum debitis aliquid atque maiores.
EOS
lorem_ipsum = lorem_ipsum.gsub(/[\n,\.]/, '').split(' ')
loerm_samples = lorem_ipsum.sample(9).map(&:to_sym)
shapes = %w(box polygon ellipse oval circle point egg triangle plaintext diamond trapezium parallelogram house pentagon hexagon septagon octagon doublecircle doubleoctagon tripleoctagon invtriangle invtrapezium invhouse Mdiamond Msquare Mcircle rect rectangle square star none underline note tab folder box3d component promoter cds terminator utr primersite restrictionsite fivepoverhang threepoverhang noverhang assembly signature insulator ribosite rnastab proteasesite proteinstab rpromoter rarrow larrow lpromoter)
shape_samples = shapes.sample(18)
colorschemes = %i(paired10 brbg10 piyg10 prgn10 puor10)
colorscheme = colorschemes.sample
Graph do
global layout:'neato', overlap:false
loerm_samples.each_cons(2).with_index(1) do |loerms, i|
route loerms.first => loerms.last
loerms.each_with_index do |loerm, j|
node loerm, {:shape => shape_samples[2 * (i + j - 1)], :colorscheme=> colorscheme,:style => :filled, fillcolor: i%11 }
end
end
route loerm_samples.last => loerm_samples.first
date_sufix = DateTime.now.strftime("%Y%m%d_%H%M%S")
save("loerm_#{date_sufix}".to_sym, :png)
end
Reference
이 문제에 관하여(Ruby|Gviz gem에서 텍스트 내용, 모양, 색상을 무작위로 선택하여 그래프 생성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tbpgr/items/3e33788f7c508651ba34텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)