Display `Table` output as a 3D bar chart

Create a simple function with arguments {i,j}, and make a Table for an array of values. For example:

f[i_, j_] := i*j;  data = Table[f[i, j], {i, 1, 25}, {j, 1, 25}] 

I want to create a 3D ‘bar chart’ of data – i.e., a plot that has a column of height f[i, j] at each Cartesian point {i,j} (ideally a block-shaped column with width and depth 1 centred on {i,j}. It sounds dead simple…

But ListPlot3D creates a meshed surface, not a series of columns, and I can’t see an option to change this. And Histogram3D doesn’t accept the format of data, and in any case I can’t get my head around how it generates 3D information from pairs containing only 2 data points each – it’s set up for data sampling, not plotting.

Suggestions?

What happens when non-aggravated damage does not fit in the Health Chart?

Suppose my character is wounded (4 damage levels taken). Then, another attack hits for another 4 lethal damage levels. I record damage until Incapacited (3 levels), what I do with the remaining damage level?

I used to assume that the exceeding damage sends you to torpor, but reading the way the text is written I’m not sure any more, at least following RAW.

V20, page 282-283: Incapacited: The stage immediately before torpor, incapacitation differs from unconsciousness in that your character collapses from the combined effects of physical trauma and pain. She falls to the ground and may do nothing except spend blood points to heal damage. Further damage suffered by an incapacitated vampire sends her into torpor or, if the damage is aggravated, inflicts Final Death on her.

The text says further damage sends you to torpor if you are already Incapacitated. In this case seems a bit ambiguous, but later text seems to reinforce me that idea.

V20, page 285: If your character falls to Incapacitated and then takes another level of bashing damage, she enters torpor (p. 283). If your character falls to Incapacitated due to bashing damage but then takes a level of aggravated damage, she meets Final Death

This way the text is written seems to imply you first fall to Incapacitated, and then you receive more damage (from another attack). If this new attack is bashing damage, you fall into torpor; if it’s aggravated, you die.

V20, page 285: When your character’s Health boxes fill to Incapacitated and she takes a further level of lethal damage, she enters torpor (p. 283). If your character is reduced to Incapacitated via lethal damage, and she takes a further level of aggravated damage, she meets Final Death.

This quote seems to imply exceeding damage sends you directly to torpor, but the text is not clear enough to me. That further level of damage can be in the same attack that filled the Incapacitated box, or you had it filled and then received a new attack?

I know in Second Edition exceeding damage is subtracts blood points. I have read several Revised and 20th Anniversary World of Darkness books, but I find similarly ambiguously (at least to me) descriptions.

I must note that I’m not a native English speaker (or reader), if it’s still not obvious to anyone reading me, but I have found the same doubts in the books translations to my language.

The questions are: What happens to exceeding damage that not fit in the Health Chart? Does it sends you to torpor? Is is it discarded?

How to simplify a bar chart with many variables?

I’m a bit stuck here. I need to represent about 40 variables in a bar chart. Each variable needs to be visible… it would be fine if each ended on a different part of the x axis, but unfortunately ~36 of the variables end in the same location. Does anyone have any tips on how to display it more easily/clearly, so that it’s not a giant list of bars at the same length?

Can this AC chart be used in DPR calculations?

Inspired by this, I just processed this list of monsters to get the average AC in monsters, by CR. It comprises all the SRD monsters, I believe.

enter image description here

Can this graph be used in DPR charts?

One way would be to consider the character’s level to match the CR of enemies. So, for example, a level 10 character would calculate its accuracy against an average of 18 AC. With a +7 to hit, it would mean 50% hit chance, so an average damage of 30 per round would equate to 15 average DPR.

If a CR=level matching isn’t adequate, what would be? Can we use standard rules for encounter creation to build such a chart?

Number of data points on stock price chart

We’re creating a graph where customers can see development of security price over time. We’re going to use a line chart with which the user can interact by tap/hold gesture to see different data points and their values on the graph.

Question is – how many data points does it make sense to have on the graph to still have it usable? If we’re talking a data point per week for 5 years that’s 5*52=260 points which seems like a lot for mobile device to interact with (especially on smaller devices like iPhone 5/SE, etc).

However reducing data points makes the graph less granular (which depending on user/use cases might be okay). Any suggestions on how to approach this?

Many thanks!

SPO how to add Organization Chart on communication site?

I would like to know the best organization chart webpart that I could easily install in my Communication site (Modern Experience).

It should be user friendly, with nice theme as well as easily editable. Also it should work with list as well as Active Directory.

Similar to this: Organization Chart

Any suggestion how to achieve it in Modern Experience ?

How to design a chart that has an x-axis with a fixed range that is longer than the selected range?

I’m designing a web-based analytics dashboard that contains a chart in which the x-axis represents the days of a campaign, and it always shows 31 days. However, the duration of a campaign varies; it may be predefined to any period between a single to 31 days.
In cases when the campaign’s duration is shorter than 31 days, I want to make it clear which area of the chart is relevant.
Are there any existing best practice solutions for this scenario?
One idea I have is graying out the area that’s not required (see image below). A bar chart with a 31-days x-axis that shows a 7-days long campaign

The chart’s width is fixed and optimized for displaying a 31-days range. I’m not changing the number of days on the x-axis to avoid scenarios in which there is a single floating dot or bar on the screen or several data points with vast space between them (see images below). A bar chart with a 7-days x-axis that shows a 7-days long campaign A bar chart with a 3-days x-axis that shows a 3-days long campaign

Algorithm for determining colours for chart labels

Input:

labels = ['Gabriel', 'Rashad', 'Keith'] colors = ['#fcc812', '#32279e', '#374947', '#e27922', '#67aacb', '#76c1ff', '#7adae2', '#cdc9e4', '#9562d6', '#de70cd'] 

Output:

{   'Gabriel': '#fcc812',   'Rashad': '#de70cd',   'Keith': '#76c1ff' } 

Question:

I want to draw a chart on which each dataset (with a name from labels) is associated with a color (from colors).

I want to find a way to definitely map label to color.

Need to handle cases:

1) One label left from labelsRashad

labels = ['Gabriel', 'Keith']  result = {   'Gabriel': '#fcc812',   'Keith':   '#76c1ff' } 

It is important that the remaining labels should have the same colors as if the label Rashed hadn’t been deleted.

2) A new label has appeared – Andrei

labels = ['Gabriel', 'Andrei', 'Rashad', 'Keith']  result = {   'Gabriel': '#fcc812',   'Andrei':  '#67aacb',   'Rashad':  '#de70cd',   'Keith':   '#76c1ff' } 

Chart not showing when using Vue-chart js in SharePoint

I have a SharePoint list and I’m trying to visualize the data using Vue-chartjs. When I do so, all I get is a canvas with a grid and not chart being rendered. Any ideas? Any help would be much appreciated. Below is my code: HTML

    <v-content>       <v-container class="grey lighten-5" fluid>         <v-row dense>           <v-col cols="sm">             <v-card class="pa-2" outlined tile raised>               <my-line-chart :line-data="ChartConfig" :chart-options="options"></my-line-chart>             </v-card>           </v-col>           <v-col cols="sm">             <v-card class="pa-2" outlined tile raised>               <my-bar-chart :bar-data="ChartConfig" :chart-options="options"></my-bar-chart>             </v-card>           </v-col>         </v-row>       </v-container>     </v-content> 

JS (Line chart component)

Vue.component('my-line-chart', {     extends: VueChartJs.Line,     props: ['lineData', 'chartOptions'],     mounted: function () {         this.renderChart(this.lineData, this.chartOptions);     } }) 

JS (Bar chart component)

Vue.component('my-bar-chart', {     extends: VueChartJs.Bar,     props: ['barData', 'chartOptions'],     mounted: function () {         this.renderChart(this.barData, this.chartOptions);     } }) 

JS (Vue instance)

new Vue({   el: "#app",   vuetify: new Vuetify(),   data: {     ChartConfig: {       labels: [],       datasets: [         {           data: [],           backgroundColor: '#3498db',           borderColor: 'rgba(136,136,136,0.5)',           label: "2013"         }       ]     },     options: {       responsive: true,       maintainAspectRatio: false,       title: {         display: true,         text: 'Chart.js Line Chart'       },       tooltips: {         mode: 'index',         intersect: false,       },       hover: {         mode: 'nearest',         intersect: true       },       scales: {         xAxes: [{           display: true,           categoryPercentage: 0.5,           scaleLabel: {             display: true,             labelString: 'Month'           }         }],         yAxes: [{           display: true,           scaleLabel: {             display: true,             labelString: 'Value'           }         }]       }     },     iceCream: [],     drawer: false   },   created: function () {     this.getListData();   },   methods: {     getListData: function () {       var endPointUrl = _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbyTitle('popular ice cream')/items";        this.status = "getting data...";       var that = this;       axios.get(endPointUrl).then(function (response) {         that.getChartData(response.data.value);       })         .catch(function (error) {           console.log(error);         })     },     getChartData: function (chartData) {       console.log(chartData);       for (var i = 0; i < chartData.length; i++) {         this.ChartConfig.labels.push(chartData[i].Flavor)       }        for (var i = 0; i < chartData.length; i++) {         this.ChartConfig.datasets[0].data.push(chartData[i].Vote)       }     }   } });