html - 增加行高以在其中一列中放置原始尺寸图
问题描述
我正在尝试将饼图的原始大小 (900x500) 放在 HTML 的右列中,但它不断被调整为更小的大小。我尝试使用 CSS 来调整它的大小并更改row
div 的高度,但没有成功。有小费吗?我也是 CSS 新手!
'use strict';
//https://www.youtube.com/watch?v=y17RuWkWdn8&ab_channel=WebDevSimplified
// usar este video para criar uma função que faça append de um novo div com atributos semelhantes aos outros para permitir ao usuario adicionar novos ativos com o cloque de um butao
////////////////////////////////////////////////////////////////////////////////////
//Get all the values for each stock input and the quota variation (as "Perda potencial" increases, Quota decreases by a ratio of 1:5 and vice-versa)
let perda;
document.querySelector(".row").addEventListener("input", function (e) {
const tgt = e.target;
if (tgt.classList.contains("perda")) {
perda = Number(tgt.closest(".tr").querySelector(".quota").value =
20 - tgt.value * 0.2) //O 20 será alterado para a expressao de numero de quotas a dividir por 100%
console.log(perda)
// quota * perda potencial; var = quota * +- perda potencial / 100
//quota - var;
//let var = perda/risco potencial
//console.log(20 - perda);
//isto teria que atualizar sempre que a perda potencial % aumenta ou diminui. Neste momento, apenas faz a soma, nao retira o valor quando perda potencial % diminui e a quota aumenta
}
});
////////////////////////////////////////////////////////////////////////////////////
//Load google chart graphs
google.charts.load("current", { packages: ["corechart"] });
google.charts.setOnLoadCallback(drawChart);
////////////////////////////////////////////////////////////////////////////////////
//Function that will be passed by the "Desenhar grafico" button so that everytime the user clicks the button, it takes the new input values and updates the pie chart
function drawChart() {
let ativo1 = String(document.getElementById("ativo1").value)
let ativo2 = document.getElementById("ativo2").value;
let ativo3 = document.getElementById("ativo3").value;
let ativo4 = document.getElementById("ativo4").value;
let ativo5 = document.getElementById("ativo5").value;
let ativosArray = [ativo1, ativo2, ativo3, ativo4, ativo5];
let quota1 = Number(document.getElementById("quota1").value)
let quota2 = Number(document.getElementById("quota2").value)
let quota3 = Number(document.getElementById("quota3").value)
let quota4 = Number(document.getElementById("quota4").value)
let quota5 = Number(document.getElementById("quota5").value)
let quotaArray = [quota1, quota2, quota3, quota4, quota5];
console.log(quotaArray)
////////////////////////////////////////////////////////////////////////////////////
//Create a "Perda" (Loss) variable that contains the inverse of "Quota". Example: If "Perda potencial" is at 20%, then our "Quota" will be at 16% and our "Perda" would be at 4% (20-16 = 4; original quota - updated quota = perda). This variable should be cumulative so that it will sum up the values for each alteration on the "Quota %" of each "Ativo" (Stock);
let sum = 0.0;
for (let i = 0; i < quotaArray.length; i++) {
sum += parseFloat(quotaArray[i]);
};
perda = 100.0 - sum;
var data = new google.visualization.DataTable();
data.addColumn("string", "Ativo");
data.addColumn("number", "Quota");
data.addRows([
[ativo1, parseFloat(quota1)],
[ativo2, parseFloat(quota2)],
[ativo3, parseFloat(quota3)],
[ativo4, parseFloat(quota4)],
[ativo5, parseFloat(quota5)],
["Perda", parseFloat(perda)],
]);
var options = {
title: "Calculadora",
pieHole: 0.3,
pieSliceText: 'value',
is3D: true,
};
var chart = new google.visualization.PieChart(
document.getElementById("piechart")
);
chart.draw(data, options);
console.log(ativo1)
console.log(quota1);
}
{
box-sizing: content-box;
}
/* Set additional styling options for the columns */
.column {
float: left;
}
/* Set width length for the left, right and middle columns */
.left {
width: 30%;
}
.right {
width: 70%;
}
.row:after {
content: "";
display: table;
clear: both;
height: 100%;
}
.td {
display: inline-block;
width: 120px;
text-align: center;
}
.button {
width: 20%;
margin-left: 35%;
margin-right: 25%;
margin-top: 10px
}
.piechart {
width: 120%;
height: 120%;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
</head>
<body style="background-color:#DFCFBE">
<div class="row">
<div class="column left">
<form id=" form">
<div class="tr">
<div class="td">Ativo </div>
<div class="td">Quota % </div>
<div class="td">Perda Potencial % </div>
</div>
<div class="tr">
<div class="td"><input type="text" size="5" value="TSLA" class="stock" id="ativo1"
onchange="drawChart();" /> </div>
<div class="td"><input type="number" min="0" max="20" value="20" class="quota" id="quota1"
onchange="drawChart();" /> </div>
<div class="td"><input type="number" min="0" max="100" value="0" class="perda" id="perda1" />
</div>
</div>
<div class="tr">
<div class="td"><input type="text" size="5" value="AAPL" class="stock" id="ativo2"
onchange="drawChart();" /> </div>
<div class="td"><input type="number" min="0" max="20" value="20" class="quota" id="quota2"
onchange="drawChart();" /> </div>
<div class="td"><input type="number" min="0" max="100" value="0" class="perda" id="perda2" />
</div>
</div>
<div class="tr">
<div class="td"><input type="text" size="5" value="MSFT" class="stock" id="ativo3"
onchange="drawChart();" /> </div>
<div class="td"><input type="number" min="0" max="20" value="20" class="quota" id="quota3"
onchange="drawChart();" /> </div>
<div class="td"><input type="number" min="0" max="100" value="0" class="perda" id="perda3" />
</div>
</div>
<div class="tr">
<div class="td"><input type="text" size="5" value="EURUSD" class="stock" id="ativo4" />
</div>
<div class="td"><input type="number" min="0" max="20" value="20" class="quota" id="quota4" />
</div>
<div class="td"><input type="number" min="0" max="100" value="0" class="perda" id="perda4" />
</div>
</div>
<div class="tr">
<div class="td"><input type="text" size="5" value="BITCOIN" class="stock" id="ativo5"
onchange="drawChart();" /> </div>
<div class="td"><input type="number" min="0" max="20" value="20" class="quota" id="quota5"
onchange="drawChart();" /> </div>
<div class="td"><input type="number" min="0" max="100" value="0" class="perda" id="perda5" />
</div>
</div>
<button class="button" type="button" onclick="drawChart();">Desenhar Gráfico</button>
</form>
</div>
<div class="column right">
<div class=" piechart" id="piechart" style="width: 900; height: 500;"></div>
</div>
</body>
解决方案
对于任何有兴趣的人,这都成功了
let options = {
'legend': 'right',
pieHole: 0.3,
pieSliceText: 'value',
is3D: true,
colors: ['#FBB117', '#6AA121', '#728FCE', '#4863A0', '#7D0552', '#FF0000'],
backgroundColor: '#DFCFBE',
chartArea: {
left: 50,
right: 50,
top: 70
}
};
推荐阅读
- java - 如何判断 java 列表中的 element.get() 是否为空?
- isabelle - 为什么我不能简化 Isabelle 中的 Σ {0} = 0 以使它们相等?
- php - 在 Centos7 中查找正在运行的 PHP 文件
- typo3 - 扩展安装后 TYPO3 损坏
- kotlin - 如何在 Kotlin 中使函数可注入并将该函数作为函数类型传递给其他函数?
- python - 无法使用请求从网页中抓取两个字段
- css - 如何在具有动态大小的 GRID 子项中移动
- kotlin - Kotlin - 范围函数链
- javascript - 将 rot13 编码的字符重新连接在一起
- python - Python:我是否能够创建一组对象,其中对象名称是通过遍历字符串列表来确定的